package org.sxp.modules.datasource.entity;

import com.baomidou.mybatisplus.annotation.*;
import org.sxp.common.dto.BaseDO;
import org.sxp.common.utils.XPBeanUtils;
import lombok.Data;

import java.io.Serializable;

/**
 * 数据源
 * @author 沈兴平
 * @date 2021/12/30
 */
@Data
@TableName("datasource_database_list")
public class DatabaseDO extends BaseDO implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	@TableId(type = IdType.ASSIGN_ID)
	private String id;

	/**
	 * 数据源名称
	 */
	private String name;

	/**
	 * 用户名
	 */
	private String username;

	/**
	 * 密码
	 */
	private String password;

	/**
	 * 类型
	 */
	private String type;

	/**
	 * 连接地址
	 */
	private String url;

	/**
	 * HadoopHdfs文件系统NameNode节点地址
	 */
	private String hdfsUrl;
	/**
	 * 数据库名
	 */
	private String dbName;
	/**
	 * 主机
	 */
	private String host;
	/**
	 * 端口
	 */
	private String port;

	/**
	 * jdbc驱动类
	 */
	private String driverClassName;

	/**
	 * 描述
	 */
	private String remarks;

	/**
	 * 资源分组
	 */
	private String spaceId;

	/**
	 * 是否公共数据库
	 */
	private Boolean isPub;

	/**
	 * 集群名 - OceaBase
	 */
	private String clusterName;
	/**
	 * 租户名 - OceaBase
	 */
	private String tenantName;
	/**
	 * 机构名称
	 */
	@TableField(exist = false)
	private String deptName;
	@TableField(exist = false)
	private String typeName;

    public static DatabaseDO copyBean(Object source) throws Exception{
        return XPBeanUtils.copyBean(source, DatabaseDO.class);
    }
}
